Fix post-release automation and firmware onboarding findings#173
Fix post-release automation and firmware onboarding findings#173BrettKinny wants to merge 2 commits into
Conversation
CI is fully green. Tower deployment evidence:
Automated capture: |
Correct the pinned firmware source, first-boot provisioning path, effective OTA configuration, and stale compatibility metadata. Add regression guards, protect raw UAT evidence from accidental commits, and keep the calendar route test offline. Co-Authored-By: OpenAI Codex <noreply@openai.com>
Pushed onboarding/release follow-up commit Source inspection reproduced issue #172 without hardware: the guide pointed at the wrong firmware tree, recommended two nonexistent Wi-Fi Kconfig symbols, and misinterpreted the expected NVS-controlled welcome wizard as an OTA failure. The corrected docs now use the pinned Dotty submodule and document the real Skip → leave SETUP → Xiaozhi hotspot → browser portal path. Additional cleanup aligns the compatibility and architecture docs with Validation: Ruff; 181 bridge/Pi tests plus 11 subtests; 235 behavior tests; 7 onboarding regressions; TypeScript suite; and |
Summary
fw-v1.3.3and submodule969c2b2Root causes
Post-release live probes showed the 4B model still ignored tool-routing prompts, behaviour state was lost on container restart, and a deterministic harness reproduced a server-push sentence-ID race.
Issue #172 also exposed three independent documentation defects:
m5stack/StackChanupstream instead of Dotty's pinnedBrettKinny/StackChan@dottyfirmware;CONFIG_WIFI_SSIDandCONFIG_WIFI_PASSWORD, which do not exist in the pinned Kconfig;The corrected path is: build the recursively cloned superproject's pinned firmware, set/verify
CONFIG_OTA_URL, tap Skip, leave SETUP for Xiaozhi, then provision Wi-Fi through the temporaryXiaozhi-*hotspot. The browser portal—not the on-device Settings app—contains the optional Advancedota_urlfield.Impact
Third-party self-hosted installs now have a source-verified procedure that points at the firmware this repository actually releases. Repeat builds are warned that
sdkconfig.defaultsdoes not override an existing generatedsdkconfig. Compatibility docs identify the coordinated release and no longer reference nonexistent backup tooling or stale pre-StateManager pins.No production behavior code changed in the onboarding follow-up; the only behavior-test change removes an accidental live weather dependency.
Validation
git diff --checkpassedThe FastAPI suite was run outside Codex's restricted network/thread sandbox after an isolated route test proved the sandbox caused the lifespan startup stall; it completed in 7.85 seconds.
Still bench-pending